home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 2 / Gold Medal Software Volume 2 (Gold Medal) (1994).iso / windows / win31 / macsyma.arj / MACSDEMO.EXE / ANTID.OUT < prev    next >
Text File  |  1993-09-14  |  7KB  |  84 lines

  1.  
  2. (c1) /* -*- Mode: MACSYMA -*- */
  3. if get('antid,'version)=false then load('antid)$
  4. C:\MACSD2B\share\ANTID.fas being loaded.
  5.  
  6. (c2) derivabbrev : true$
  7.  
  8. (c3) /*
  9.       A Simple Example
  10. */
  11. g: 'diff(u(x),x,2);
  12. |$label(0,15,Times New Roman,$(d3$))$sub(u$paren(x),x x)
  13.  
  14. (c4) antidiff(g,x,u);
  15. |$label(0,15,Times New Roman,$(d4$))$sub(u$paren(x),x)
  16.  
  17. (c5) /*   Write a function to test answers returned by ANTIDIFF */
  18. checkans(g,ans):=print("Check on answer (should be zero): ",ratsimp(g-diff(ans,x)));
  19. |$label(0,15,Times New Roman,$(d5$))checkans$paren(g$ina($, )$hinge()ans)$hinge()$in( := )print$paren("Check on answer $(should be zero$): "$ina($, )$hinge()ratsimp$paren(g$in( - )diff$paren(ans$ina($, )x)))
  20.  
  21. (c6) /*
  22.     The demonstration functions chosen are the Nth derivatives of the
  23.     product of the first M derivatives of U(x).  This function, G, is
  24.     then integrated once using ANTID.
  25. */
  26.   for n : 1 thru 2 do 
  27.   for m : 0 thru 3 do (
  28.     g: diff(product(diff(u(x), x, i), i, 0, m), x, n),
  29.     ans: antidiff(g,x,u(x)),
  30.     display('antidiff(g, x, u(x))=ans),
  31.     checkans(g,ans));
  32. |$label(0,15,Times New Roman,)antidiff$paren($sub(u$paren(x),x)$ina($, )$hinge()x$ina($, )$hinge()u$paren(x))$hinge()$in( = )u$paren(x)
  33.  
  34. |$label(-1,15,Times New Roman,)Check on answer $(should be zero$): $in() $in()0
  35. |$label(0,15,Times New Roman,)antidiff$paren(u$paren(x)$in( )$sub(u$paren(x),x x)$in( + )$sup($paren($sub(u$paren(x),x),$(,$)),2)$ina($, )$hinge()x$ina($, )$hinge()u$paren(x))$hinge()$in( = )u$paren(x)$hinge()$in( )$sub(u$paren(x),x)
  36.  
  37. |$label(-1,15,Times New Roman,)Check on answer $(should be zero$): $in() $in()0
  38. |$label(0,15,Times New Roman,)antidiff$paren(u$paren(x)$in( )$sub(u$paren(x),x)$in( )$sub(u$paren(x),x x x)$in( + )u$paren(x)$in( )$sup($paren($sub(u$paren(x),x x),$(,$)),2)$in( + )$sup($paren($sub(u$paren(x),x),$(,$)),2)$in( )$sub(u$paren(x),x x)$ina($, )$hinge()x$ina($, )$hinge()u$paren(x))$hinge()$in( = )u$paren(x)$hinge()$in( )$sub(u$paren(x),x)$hinge()$in( )$sub(u$paren(x),x x)
  39.  
  40. |$label(-1,15,Times New Roman,)Check on answer $(should be zero$): $in() $in()0
  41. |$label(0,15,Times New Roman,)antidiff$paren(u$paren(x)$in( )$sub(u$paren(x),x)$in( )$sub(u$paren(x),x x)$in( )$sub(u$paren(x),x x x x)$in( + )u$paren(x)$in( )$sub(u$paren(x),x)$in( )$sup($paren($sub(u$paren(x),x x x),$(,$)),2)$in( + )u$paren(x)$in( )$sup($paren($sub(u$paren(x),x x),$(,$)),2)$in( )$sub(u$paren(x),x x x)$in( + )$sup($paren($sub(u$paren(x),x),$(,$)),2)$in( )$sub(u$paren(x),x x)$in( )$sub(u$paren(x),x x x)$ina($, )$hinge()x$ina($, )$hinge()u$paren(x))$hinge()$in( = )u$paren(x)$hinge()$in( )$sub(u$paren(x),x)$hinge()$in( )$sub(u$paren(x),x x)$hinge()$in( )$sub(u$paren(x),x x x)
  42.  
  43. |$label(-1,15,Times New Roman,)Check on answer $(should be zero$): $in() $in()0
  44. |$label(0,15,Times New Roman,)antidiff$paren($sub(u$paren(x),x x)$ina($, )$hinge()x$ina($, )$hinge()u$paren(x))$hinge()$in( = )$sub(u$paren(x),x)
  45.  
  46. |$label(-1,15,Times New Roman,)Check on answer $(should be zero$): $in() $in()0
  47. |$label(0,15,Times New Roman,)antidiff$paren(u$paren(x)$in( )$sub(u$paren(x),x x x)$in( + )3$in( )$sub(u$paren(x),x)$in( )$sub(u$paren(x),x x)$ina($, )$hinge()x$ina($, )$hinge()u$paren(x))$hinge()$in( = )u$paren(x)$in( )$sub(u$paren(x),x x)$hinge()$in( + )$sup($paren($sub(u$paren(x),x),$(,$)),2)
  48.  
  49. |$label(-1,15,Times New Roman,)Check on answer $(should be zero$): $in() $in()0
  50. |$label(0,15,Times New Roman,)antidiff$paren(u$paren(x)$in( )$sub(u$paren(x),x)$in( )$sub(u$paren(x),x x x x)$in( + )3$in( )u$paren(x)$in( )$sub(u$paren(x),x x)$in( )$sub(u$paren(x),x x x)$in( + )2$in( )$sup($paren($sub(u$paren(x),x),$(,$)),2)$in( )$sub(u$paren(x),x x x)$in( + )3$in( )$sub(u$paren(x),x)$in( )$sup($paren($sub(u$paren(x),x x),$(,$)),2)$ina($, )$hinge()x$ina($, )$hinge()u$paren(x))$hinge()$in( = )u$paren(x)$in( )$sub(u$paren(x),x)$in( )$sub(u$paren(x),x x x)$hinge()$in( + )u$paren(x)$in( )$sup($paren($sub(u$paren(x),x x),$(,$)),2)$hinge()$in( + )$sup($paren($sub(u$paren(x),x),$(,$)),2)$in( )$sub(u$paren(x),x x)
  51.  
  52. |$label(-1,15,Times New Roman,)Check on answer $(should be zero$): $in() $in()0
  53. |$label(0,15,Times New Roman,)antidiff$paren(u$paren(x)$in( )$sub(u$paren(x),x)$in( )$sub(u$paren(x),x x)$in( )$sub(u$paren(x),x x x x x)$in( + )3$in( )u$paren(x)$in( )$sub(u$paren(x),x)$in( )$sub(u$paren(x),x x x)$in( )$sub(u$paren(x),x x x x)$in( + )2$in( )u$paren(x)$in( )$sup($paren($sub(u$paren(x),x x),$(,$)),2)$in( )$sub(u$paren(x),x x x x)$in( + )2$in( )$sup($paren($sub(u$paren(x),x),$(,$)),2)$in( )$sub(u$paren(x),x x)$in( )$sub(u$paren(x),x x x x)$in( + )3$in( )u$paren(x)$in( )$sub(u$paren(x),x x)$in( )$sup($paren($sub(u$paren(x),x x x),$(,$)),2)$in( + )2$in( )$sup($paren($sub(u$paren(x),x),$(,$)),2)$in( )$sup($paren($sub(u$paren(x),x x x),$(,$)),2)$in( + )3$in( )$sub(u$paren(x),x)$in( )$sup($paren($sub(u$paren(x),x x),$(,$)),2)$in( )$sub(u$paren(x),x x x)$ina($, )$hinge()x$ina($, )$hinge()u$paren(x))$hinge()$in( = )u$paren(x)$in( )$sub(u$paren(x),x)$in( )$sub(u$paren(x),x x)$in( )$sub(u$paren(x),x x x x)$hinge()$in( + )u$paren(x)$in( )$sub(u$paren(x),x)$in( )$sup($paren($sub(u$paren(x),x x x),$(,$)),2)$hinge()$in( + )u$paren(x)$in( )$sup($paren($sub(u$paren(x),x x),$(,$)),2)$in( )$sub(u$paren(x),x x x)$hinge()$in( + )$sup($paren($sub(u$paren(x),x),$(,$)),2)$in( )$sub(u$paren(x),x x)$in( )$sub(u$paren(x),x x x)
  54.  
  55. |$label(-1,15,Times New Roman,)Check on answer $(should be zero$): $in() $in()0
  56. |$label(0,15,Times New Roman,$(d6$))done
  57.  
  58. (c7) /*
  59.     The function need not be a polynomial in U(X), for example:
  60. */
  61.       g: diff(%e^u(x)*sin(u(x)), x, 2);
  62. |$label(0,15,Times New Roman,$(d7$))$sup($e(),u$paren(x))$in( )sin$paren(u$paren(x))$in( )$sub(u$paren(x),x x)$hinge()$in( + )$sup($e(),u$paren(x))$in( )cos$paren(u$paren(x))$in( )$sub(u$paren(x),x x)$hinge()$in( + )2$in( )$sup($e(),u$paren(x))$in( )cos$paren(u$paren(x))$in( )$sup($paren($sub(u$paren(x),x),$(,$)),2)
  63.  
  64. (c8) ans: antidiff(g, x, u(x));
  65. |$label(0,15,Times New Roman,$(d8$))$open($()$sup($e(),u$paren(x))$in( )sin$paren(u$paren(x))$hinge()$in( + )$sup($e(),u$paren(x))$in( )cos$paren(u$paren(x))$close($))$hinge()$in( )$sub(u$paren(x),x)
  66.  
  67. (c9) checkans(g,ans);
  68. |$label(-1,15,Times New Roman,)Check on answer $(should be zero$): $in() $in()0
  69. |$label(0,15,Times New Roman,$(d9$))0
  70.  
  71. (c10) g: ans;
  72. |$label(0,15,Times New Roman,$(d10$))$open($()$sup($e(),u$paren(x))$in( )sin$paren(u$paren(x))$hinge()$in( + )$sup($e(),u$paren(x))$in( )cos$paren(u$paren(x))$close($))$hinge()$in( )$sub(u$paren(x),x)
  73.  
  74. (c11) ans: antidiff(g, x, u(x));
  75. C:\MACSD2B\library1\scs.fas being loaded.
  76. |$label(0,15,Times New Roman,$(d11$))$q($sup($e(),u$paren(x))$in( )$paren(sin$paren(u$paren(x))$in( + )cos$paren(u$paren(x)),$(,$)),2)$hinge()$in( + )$q($sup($e(),u$paren(x))$in( )$paren(sin$paren(u$paren(x))$in( - )cos$paren(u$paren(x)),$(,$)),2)
  77.  
  78. (c12) ratsimp(%);
  79. |$label(0,15,Times New Roman,$(d12$))$sup($e(),u$paren(x))$hinge()$in( )sin$paren(u$paren(x))
  80.  
  81. (c13) checkans(g,ans);
  82. |$label(-1,15,Times New Roman,)Check on answer $(should be zero$): $in() $in()0
  83. |$label(0,15,Times New Roman,$(d13$))0
  84.